public class Factory {

interface Xyz 
 {
 Xyz cloan ();
 }

static class Tom implements Xyz {
 public Xyz cloan () {
 return new Tom() ;
 }

public String toString () {
return "ttt" ;
}
}

static class Dick implements Xyz {
public Xyz cloan () 
{
return new Dick () ;
}
public String toString () {
return "ddd " ; }
}

 static class Harry implements Xyz {


public Xyz cloan () {
return new Harry ( ) ;
}

 public String toString () {
return "hhh" ;
}
}

static class Factory1 {
private static java.util.Map prototypes = new java.util.HashMap () ;
static {
prototypes.put("tom" , new Tom()) ;
prototypes.put("dick" ,new Dick ()) ;
prototypes.put ("harry",new Harry()) ;
}
public static Xyz makeObject ( String s ){
return ( (Xyz ) prototypes.get(s)).cloan () ;
}
}

public static void main ( String [] args ) {
for (int i =0; i < args.length ; i++) {
System.out.print(Factory1.makeObject(args[i]) + " " ) ;
}
}
}